package com.bestcem.xm.user.util.convert;

import com.bestcem.xm.user.entity.mysql.OrganizationCustomSetting;
import com.bestcem.xm.user.entity.pojo.OrganizationCustomSettingDO;
import com.bestcem.xm.user.service.dto.user.OrganizationCustomSettingDTO;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * 租户自定义配置转换类
 *
 * @author qiongyu.cui <qiongyu.cui@idiaoyan.com>
 * @version v1.0
 * @date 2022/5/10 10:53
 */
@Mapper(componentModel = "spring")
public interface OrganizationCustomSettingConvert {

    /**
     * mysql对象转do对象
     *
     * @param organizationCustomSetting mysql实体对象
     * @return com.bestcem.xm.user.entity.pojo.OrganizationCustomSettingDO
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/05/10 10:54
     */
    OrganizationCustomSettingDO mysql2Do(OrganizationCustomSetting organizationCustomSetting);

    /**
     * mysql列表兑现转do列表对象
     *
     * @param organizationCustomSettings mysql实体对象列表
     * @return java.util.List<com.bestcem.xm.user.entity.pojo.OrganizationCustomSettingDO>
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/05/10 11:16
     */
    List<OrganizationCustomSettingDO> mysqls2Dos(List<OrganizationCustomSetting> organizationCustomSettings);

    /**
     * do对象转mysql对象
     *
     * @param organizationCustomSettingDO do对象
     * @return com.bestcem.xm.user.entity.mysql.OrganizationCustomSetting
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/05/10 10:55
     */
    OrganizationCustomSetting do2Mysql(OrganizationCustomSettingDO organizationCustomSettingDO);

    /**
     * do对象转dto对象
     *
     * @param organizationCustomSettingDO do对象
     * @return com.bestcem.xm.user.service.dto.user.OrganizationCustomSettingDTO
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/05/10 11:07
     */
    OrganizationCustomSettingDTO do2Dto(OrganizationCustomSettingDO organizationCustomSettingDO);

    /**
     * do对象列表转dto对象列表
     *
     * @param organizationCustomSettingDOS do对象列表
     * @return java.util.List<com.bestcem.xm.user.service.dto.user.OrganizationCustomSettingDTO>
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/05/10 11:18
     */
    List<OrganizationCustomSettingDTO> dos2Dtos(List<OrganizationCustomSettingDO> organizationCustomSettingDOS);

    /**
     * dto对象转do对象
     *
     * @param organizationCustomSettingDTO dto对象
     * @return com.bestcem.xm.user.entity.pojo.OrganizationCustomSettingDO
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/05/10 11:07
     */
    OrganizationCustomSettingDO dto2Do(OrganizationCustomSettingDTO organizationCustomSettingDTO);

}
